package com.ls.lsqc.modules.sys.dao;

import java.util.List;

import com.ls.lsqc.common.persistence.CrudDao;
import com.ls.lsqc.common.persistence.annotation.MyBatisDao;
import com.ls.lsqc.modules.sys.entity.Dict;

/**
  * @ClassName: DictDao
  * @Description: 基础数据方法接口
  * 
  * @author 曹学海
  * @date 2016年11月11日 下午1:44:34
  *
  */

@MyBatisDao
public interface DictDao extends CrudDao<Dict> {
	
	
	/**
	  * @Title: findListDict
	  * @Description: 查询子项目接口
	  * @param @param dict
	  * @param @return
	  * @return List<Dict> 
	  * @throws
	  */
	public List<Dict> findListDict(Dict dict);
	
	/**
	  * @Title: findSubDict
	  * @Description: 查询子项目接口
	  * @param @param dict
	  * @param @return
	  * @return List<Dict> 
	  * @throws
	  */
	public List<Dict> findSubDict(Dict dict);
	
	/**
	  * @Title: physicallyDeleteAllSub
	  * @Description: 物理删除所有子项目接口
	  * @param @param dict
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int physicallyDeleteAllSub(Dict dict);
	
	/**
	  * @Title: logicDeleteAllSub
	  * @Description: 逻辑删除所有子项目接口
	  * @param @param dict
	  * @param @return
	  * @return int 
	  * @throws
	  */
	public int logicDeleteAllSub(Dict dict);
	
	/**
	 * 插入所有子项
	 * @param dict
	 * @return
	 */
	public int insertAllSub(Dict dict);
	
	
	/**
	  * @Title: getByItemValue
	  * @Description: 查重
	  * @param @param dict
	  * @param @return
	  * @return Dict 
	  * @throws
	  */
	public Dict getByItemValue(Dict dict);
	
	
	/**
	  * @Title: getByItemCode
	  * @Description: 查重
	  * @param @param dict
	  * @param @return
	  * @return Dict 
	  * @throws
	  */
	public Dict getByItemCode(Dict dict);
	
	/**
	 * 查询需要导出的数据
	 * @param dict
	 * @return
	 */
	public List<Dict> findAllListExport(Dict dict);
	
	/**删除所有数据
	 * 
	 * @param dict
	 * @return
	 */
	public int deleteAll(Dict dict);
	
	/**删除所有数据
	 * 
	 * @param dict
	 * @return
	 */
	public int deleteDictALL(Dict dict);
	
	
	/**删除所有数据
	 * 
	 * @param dict
	 * @return
	 */
	public int deleteZxDict(Dict dict);
	
	
	/**更新所有数据
	 * 
	 * @param dict
	 * @return
	 */
	public int updateALL(Dict dict);
	
	/**插入数据从List
	 * 
	 * @param dict
	 * @return
	 */
	public int insertByList(Dict dict);
}
